package Util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SignTool {

    // MD5 加密方法
    public static String getMD5(String input) {
        try {
            // 获取 MD5 加密算法实例
            MessageDigest md = MessageDigest.getInstance("MD5");

            // 将输入字符串转换为字节数组
            byte[] inputBytes = input.getBytes();

            // 计算 MD5 哈希值
            byte[] hashBytes = md.digest(inputBytes);

            // 将哈希值转换为十六进制字符串
            StringBuilder sb = new StringBuilder();
            for (byte b : hashBytes) {
                sb.append(String.format("%02x", b)); // 使用 %02x 将每个字节表示为两位十六进制数
            }

            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            // 当算法不可用时，处理异常
            System.out.println("MD5 算法不可用：" + e.getMessage());
            return null;
        }
    }

    // 获取14位时间戳yyyyMMddHHmmss
    public static String get14Timestamp() {
        Date now = new Date();
        // 创建 SimpleDateFormat 对象，指定日期格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        String timestamp = dateFormat.format(now);
        return timestamp;
    }

}
